package com.muyu.payment.domain.req;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;


import java.math.BigDecimal;

/**
 * 提现请求
 *
 * @author muyu
 * @date 2025-01-27
 */
@Data
@Schema(description = "提现请求")
public class WithdrawReq {

    /**
     * 提现金额
     */
    @NotNull(message = "提现金额不能为空")
    @DecimalMin(value = "1.00", message = "提现金额必须大于1.00元")
    @Schema(description = "提现金额", example = "100.00")
    private BigDecimal amount;

    /**
     * 提现渠道（1:支付宝 2:微信 3:银行卡）
     */
    @NotNull(message = "提现渠道不能为空")
    @Schema(description = "提现渠道（1:支付宝 2:微信 3:银行卡）", example = "1")
    private Integer payType;

    /**
     * 收款账号
     */
    @NotBlank(message = "收款账号不能为空")
    @Schema(description = "收款账号", example = "13800138000")
    private String receiveAccount;

    /**
     * 收款人姓名
     */
    @NotBlank(message = "收款人姓名不能为空")
    @Schema(description = "收款人姓名", example = "张三")
    private String receiveName;

    /**
     * 备注
     */
    @Schema(description = "备注", example = "提现申请")
    private String remark;
}